package com.witmore.neutron.ai.web.controller.vo;

import com.witmore.neutron.ai.db.entity.PermissionDO;
import com.witmore.neutron.ai.web.apiv2.controller.vo.ProviderEmployeeResult;
import com.witmore.neutron.ai.web.apiv2.controller.vo.RoleUserResult;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * Description: UserSession
 * Author: 豆子高
 * Date: 2025/5/15 18:48
 */
@Data
public class UserSession {
    private Integer id;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 用户名
     */
    private String userName;


    /**
     * 用户手机号
     */
    private String userPhone;

    /**
     * 用户组织名称
     */
    private String orgName;

    /**
     * 用户状态（0：未激活；1：已激活）
     */
    private Byte activeStatus;

    /**
     * 用户登录token
     */
    private String token;

    /**
     * 登录成功后跳转的页面
     */
    private String redirectUrl;

    /**
     * 股票 服务用户id
     */
    private Integer scorpionUserId;

    /**
     * 股票 服务用户openid
     */
    private String scorpionUserOpenid;

    /**
     * 微信openid
     */
    private String wxOpenid;

    /**
     * 用户头像URL
     */
    private String avatarUrl;

    /**
     * 是否是超级管理员（0：否；1：是）
     */
    private Boolean isSuperAdmin;

    /**
     * 服务商信息
     */
    private ProviderEmployeeResult providerProfile;

    @Schema(description = "角色信息")
    private List<RoleUserResult> roles;
    @Schema(description = "角色信息")
    private List<Long> roleIds;

    /**
     * 角色类型 1:服务商管理员 2:普通用户
     */
    private Integer roleType;

    @Schema(description = "权限信息")
    private List<PermissionDO> permissions;
    @Schema(description = "权限信息")
    private List<String> permissionCodes;
}
